// 接口列表执行插件
import http from './http'
import Interface from './Interface'

const api = {
	// vue插件关键方法，使用vue.use()装载
	install: function(Vue) {
		Vue.prototype.$api = this
	}
}

// 接口列表转换成可调用函数
Interface.forEach(v => {
	if (!v.desc) {
		new Error("你的方法没有添加描述信息！")
	}
	api[v.name] = (params, isLoading = true) => {
		if (isLoading) {
			uni.showLoading({
				title: '加载中...'
			})
		}
		
		// 过滤空参数
		if (params && JSON.stringify(params) != '{}') {
			let arr = Object.keys(params)
			arr.forEach(item => {
				if (params[item] === null || params[item] === undefined) {
					delete params[item]
				}
			})
		}
		
		return http[v.method](v.path, params)
	}
})

export default api
